iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
SideProject30

年輕人,想玩自己寫!系列 第 19

第十八章,前進的腳步不曾停下

  • 分享至 

  • xImage
  •  

依照規劃好的里程碑,今天要能試做出遊戲玩法的核心。
基本上就是要能達成「觸發事件->互動->角色數值改變」的循環。
還有三十天寫文章的小遊戲。
昨天已經把一部份的畫面刻好了,動畫或影片可能暫時沒有辨法。
會先以跳出對話框的型式來模擬事件的發生及改變。
為了測試功能,先創一個範例的卡片導入遊戲,之後正式時會是從assets裡的json檔讀入資料。

class ExampleCard {
  String name = "Example";   ///名稱
  int rank = 5;              ///稀有度
  int level = 1;             ///等級
  int connect = 0;           ///羈絆
  int hpAdd = 10;            ///體力增加值
  int mpAdd = 10;            ///靈感增加值
  int pointAdd = 20;         ///專業增加值
  List<GameEvent> supportEvents = [];///夥伴事件
  List<GameEvent> storyEvents = [];  ///主線事件
  List<GameEvent> uniqueEvents = []; ///獨有事件
}

然後需要有事件,包含系統事件,像是上班偷寫、下班趕稿之類的,
還要有隨機發生的夥伴事件,能加一些能力值。
所有的系統、角色、夥伴事件會在遊戲初始化時傳入GameManager中的EventHelper中,隨著進程及互動的結果取出,並對數值造成影響。

for(int i=0;i<gameManager!.eventHelper!.eventList.length;i++)
TextButton("事件名稱"),

裡面的onPressed:
onPressed: () {
gameManager!.role?.getEvent(gameManager!.eventHelper!.eventList[i]);
showDialog<void>(context: context,barrierDismissible: false,builder: (BuildContext dialogContext) {return AlertDialog(title:Text(gameManager!.eventHelper!.eventList[i]!.title!),
            content: Text(gameManager!.eventHelper!.eventList[i]!.describe!),
            actions: <Widget>[TextButton(
                                  child: const Text('OK'),
                                  onPressed: () {
                                    Navigator.of(dialogContext)
                                        .pop(); // Dismiss alert dialog
                                    setState(() {});
                                  },
                                ),
                              ],
                            );
                          },
                        );
                      },

之後再由GameManager控制流程的循環,就可以運作起來了。
目前是先測試看看核心的事件流程能不能順利跑起來。
展示如下:
https://i.imgur.com/YdECv56.gif
在這個簡單的展示中,事件會被觸發、影響數值。
也簡單用天數及體力作為結束的標準,體力為負表示寫不下去了,天數為30表示完成挑戰。
https://ithelp.ithome.com.tw/upload/images/20231004/20162723a1xNTiQMc1.png

這樣今天也算是有試做一部份出來吧?雖然是用很簡陋的方式,但至少是可以玩的~
明天也要繼續加油,往下個里程碑前進吧!
/images/emoticon/emoticon07.gif


上一篇
第十七章,像螞蟻,默默做自己
下一篇
第十九章,你渴望成就嗎?
系列文
年輕人,想玩自己寫!31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言